home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
scope
/
151-175
/
scopedisk168
/
clianywhere
/
openscreen.doc
< prev
next >
Wrap
Text File
|
1995-03-19
|
7KB
|
152 lines
OpenScreen Version 1
Created by Ray Lambert in 1990
Overview.
OpenScreen is a utility program which allows you to create additional
Workbench-compatible screens. You may use OpenScreen to create nearly any
type of screen possible using combinations of command line options, and then
(using the accompanying program CLIanywhere) open CLIs on it, load an extra
copy of Workbench, etc. You may create as many screens as you like,
providing that your system has the memory to accomodate them. Combinations
of OpenScreen and CLIanywhere can even be utilized from your
Startup-Sequence to produce the same set of extra screens every time you
boot.
Usage.
OpenScreen does not run from Workbench (with an icon) however it can be
run in just about any other way (directly from the CLI, in scripts, etc.).
OpenScreen defaults to creating an exact duplicate of your Workbench screen,
however you can change almost all attributes of the screen it creates by
using the correct command line options. Below is a list of the command line
options (switches) that OpenScreen understands. (Remember, OpenScreen
starts with the definition of your Workbench screen, and the following
switches _modify_ that definition).
All switches are introduced with the dash ('-') character, which is
followed by a single, _case_sensitive_ letter which identifies the option.
In many cases the option letter must then be directly followed by a
parameter with no intervening spaces. The parameter is either numeric or
string data. In the following list, a dollar sign ('$') denotes string data
(a name for example) and a hash sign ('#') denotes numeric data. If neither
of these characters are present no parameter is required for the option (any
extra text will be ignored). If a parameter must contain space characters
(for example, your screen title), the whole switch must be enclosed in
double quotes. For example, if you wanted to name your screen, "My Screen",
you would use the following switch on the command line (WITH the quotes):
"-tMy Screen"
List of switches:
-t$ define screen Title text
-w# define screen Width
-h# define screen Height
-d# define screen Depth
-c#,#,... set screen Colors (see below for detailed description)
-e# set screen initial top Edge
-1# set screen pen 1 (DetailPen)
-2# set screen pen 2 (BlockPen)
-H turn HIRES on
-L turn HIRES off (Lowres)
-I turn Interlace on
-N turn interlace off (No interlace)
-B open this screen Behind all others
All numeric data is in decimal EXCEPT the "-c" (set screen Colors)
option, which requires numeric data in HEXADECIMAL format. A 'hex' screen
color value consists of three characters as such: "RGB", where "R" is the
color's RED component, "G" is GREEN and "B" is BLUE. Each color component
can have a value of 0 through 15. In hexadecimal notation, the numerals 0
through 9 are equal to 0 through 9, and the letters A through F are equal to
10 through 15. (Leading zeros may be left off). To define a color whose
components are: RED=5, GREEN=14, and BULE=9, you would use the value: 5E9.
The "-c" option takes a list of color values, each seperated by a comma.
The first value in the list is for color 0, the second for color 1, etc.
Any value may be omitted and the cooresponding Workbench default will be
substituted. For example, if you wanted to duplicate your Workbench screen,
and only change color 2 (so you can easily distinguish the two screens at a
glance) you could use the following switch:
-c,,5E9,
This would cause your default Workbench color values for colors 0, 1 and 3
to be used, and color 2 would become 5E9.
Some people may be able to create colors directly using this method,
however some will not. To help you in determining the proper values for
your desired colors, you may use the program called "palette" which is found
on your Workbench distribution diskette in the "Tools" directory. This
program is a standard palette editor that allows you to change the palette
on your Workbench screen and others. This program has two special features
which make it particularily useful. The first is that it displays the
hexadecimal value of the color it is currently editing in its window,
allowing you to experiment with colors and then get their values to feed to
OpenScreen. The second helpful feature is that "palette" always opens
itself on the topmost screen in the system, allowing you to edit that
screens colors. Thus, you can easily edit your new screen's colors using
"palette" even _after_ you've created the screen. The only drawback to
editing your colors in this manner is that you would have to edit those
colors _everytime_ you create the screen with OpenScreen. This makes the
color option in OpenScreen quite useful.
If you forget these switches you can get help by typing:
SetScreen ?
Warnings.
OpenScreen actually does something that, under normal circumstances, is
considered quite nasty. It opens a new custom screen, sets its screen type
to WBENCHSCREEN, and the EXITS, leaving the new screen stranded! Normally
if a program did this it would be grounds to have the programmer lynched!
However, in this case, the whole purpose is to provide a new screen which
acts as an extra Workbench screen -- this makes it okay. There is no need
for a program to sit around in memory to manage the screen, because
Intuition does that for us! So rather than use unneccessary resources,
OpenScreen terminates itself after creation of the new screen is complete.
The only drawback to this approach is that the screen CANNOT be closed by
normal means. I'm not sure how neccessary this would be anyway because
Workbench screens are usually meant to be permanent. Those of you who use
utilities such as "GOMF" or "Xoper" can remove the screens that OpenScreen
creates using those utilities -- otherwise, there is no way to remove them.
Also, if you specify a title for your new screen, OpenScreen allocates
memory for that title which never gets free'd. Although this is only a
small amount of memory, the practice is not normally considered to be
'okay'. (BTW, please note that under normal circumstances I NEVER do nasty
things like this! _Really_, I don't!)
Legal stuff.
OpenScreen is public domain and is part of the CLIanywhere package and I
would very much like the whole package to be kept together as one if it is
distributed anywhere.
Get to know me!
If you have any questions, suggestions, flames, propositions, etc., I
can be reached at the following places:
People/Link: Analog*Kid (log on often)
BIX: AnalogKid (log on sparsely)
U.S. Snail: Ray Lambert
PO Box 1253
Westport, Massachusetts 02790
Phone: (508) 677-9217